package com.gee.spring.boot.starter.opengemini.core.annotation;


import com.gee.spring.boot.starter.opengemini.core.convertor.Convertor;
import com.gee.spring.boot.starter.opengemini.core.convertor.NoneConvertor;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author gepengjun
 * @since 2024/4/24 13:58
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Column {

    String name();

    boolean tag() default false;

    /**
     * 默认为空时 使用 name， 主要用于group by time时，查询字段中有time
     * @return alias
     */
    String funcAlias() default "";

    Class<? extends Convertor<?, ?>> convertorClass() default NoneConvertor.class;
}
